﻿/*----------------------------------------------------------------
// Copyright (C) 2016 通通优品版权所有。
// 命名空间: STOWaybillMall.Products.Dto
// 类名：GetProductDetailOutput
// 功能描述：N/A
// 
// 创建标识：Roc.Lee(李鹏鹏) 2017/8/7 10:21:22 TEC-ROCLEE Roc.Lee

// 修改标识：
// 修改描述：
// 
//
//----------------------------------------------------------------*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace STOWaybillMall.Products.Dto
{
    /// <summary>
    /// 获取商品详情信息
    /// </summary>
    public class GetProductDetailOutput : BaseOutput
    {
        /// <summary>
        /// 包含的轮播图信息
        /// </summary>
        public IList<SlideShowInfo> SlideShows { get; set; }
        /// <summary>
        /// 商品详情
        /// </summary>
        public ProductBaseInfo ProductBase { get; set; }


        /// <summary>
        /// 轮播图信息
        /// </summary>
        public class SlideShowInfo
        {
            /// <summary>
            /// 图片地址
            /// </summary>
            public string Uri { get; set; }
        }

        /// <summary>
        /// 商品基本信息
        /// </summary>
        public class ProductBaseInfo
        {
            /// <summary>
            /// 商品分类
            /// </summary>
            public string ProductCategoryName { get; set; }

            /// <summary>
            /// 商品名
            /// </summary>
            public string ProductName { get; set; }

            /// <summary>
            /// 最小购买数量
            /// </summary>
            public int BuyLeast { get; set; }
            /// <summary>
            /// 单位
            /// </summary>
            public string Unit { get; set; }
            /// <summary>
            /// 购买基数
            /// </summary>
            public int BuyCardinality { get; set; }
            /// <summary>
            /// 购买说明
            /// </summary>
            public string BuyExplainName { get; set; }
            /// <summary>
            /// 辅料比例
            /// </summary>
            public decimal Rate { get; set; }
            /// <summary>
            /// 性质
            /// </summary>
            public string ProductPropertyName { get; set; }
            /// <summary>
            /// 发货地
            /// </summary>
            public string SendCargoName { get; set; }
            /// <summary>
            /// 包含的规格属性
            /// </summary>
            public IList<SpecInfo> Specs { get; set; }
            /// <summary>
            /// 商品具体信息
            /// </summary>
            public IList<ProductSpecificInfo> SpecificInfos { get; set; }
            /// <summary>
            /// 商品描述
            /// </summary>
            public ProductDetail ProductDetail { get; set; }
        }
        /// <summary>
        /// 商品详情
        /// </summary>
        public class ProductDetail
        {
            /// <summary>
            /// 描述图片
            /// </summary>
            public  IList<ProductDetailImage> DetailImages { get; set; }
        }
        /// <summary>
        /// 商品详情图片
        /// </summary>
        public class ProductDetailImage {
            /// <summary>
            /// 图片地址
            /// </summary>
            public string ImageUri { get; set; }
            /// <summary>
            /// 图片标题
            /// </summary>
            public string ImageTitle { get; set; }
        }
        /// <summary>
        /// 商品信息
        /// </summary>
        public class ProductSpecificInfo
        {
            /// <summary>
            /// 商品标识
            /// </summary>
            public long ProductID { get; set; }
            /// <summary>
            /// 价格
            /// </summary>
            public decimal Price { get; set; }
            /// <summary>
            /// 是否下架
            /// </summary>
            public bool IsSoldOut { get; set; }
            /// <summary>
            /// 包含规格属性标识
            /// </summary>
            public string SpecPropIds { get; set; }
            /// <summary>
            /// 规格属性组合名称
            /// </summary>
            public string SpecPropName { get; set; }
        }
        /// <summary>
        /// 商品规格信息
        /// </summary>
        public class SpecInfo
        {
            /// <summary>
            /// 规格标识
            /// </summary>
            public int SpecID { get; set; }
            /// <summary>
            /// 规格名称
            /// </summary>
            public string SpecName { get; set; }
            /// <summary>
            /// 包含的属性
            /// </summary>
            public IList<SpencPropInfo> SpencProps { get; set; }
        }
        /// <summary>
        /// 规格属性信息
        /// </summary>
        public class SpencPropInfo
        {
            /// <summary>
            /// 规格属性标识
            /// </summary>
            public long PropID { get; set; }
            /// <summary>
            /// 规格属性名称
            /// </summary>
            public string PorpName { get; set; }
            /// <summary>
            /// 规格属性图片地址
            /// </summary>
            public string ImageUri { get; set; }
        }
    }
}
